const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin'); // js自动注入html
const {CleanWebpackPlugin} = require('clean-webpack-plugin'); // 删除指定文件
const webpack = require('webpack');

module.exports = {
  entry: {
    index: './src/index.js' // 入口文件，不配置默认 src目录下得index.js
  },
  output: {
    filename: '[name].bundle.[hash].js', // 输出文件名
    path: path.resolve('./dist') // 输出文件路径
  },
  plugins: [
    new HtmlWebpackPlugin({
      filename: 'index.html',
      template: './index.html'
    }),
    new CleanWebpackPlugin(), // 删除文件，默认dist文件夹下
    new webpack.HotModuleReplacementPlugin() //
  ],
  devServer: {
    inline: true, // 打包后加入一个websocket客户端
    hot: true, // 热加载
    contentBase: path.resolve('./dist'), // 开发服务运行时的文件根目录
    host: 'localhost', // 主机地址
    port: 8090, // 端口号
    compress: true, // 分开发服务器是否启动gzip等压缩
    open: true // 自动打开浏览器
  }
};